משתנה הוא שם שמחזיק ערך בזיכרון: גיל=16, סכום=0. לולאה חוזרת על פעולות כל עוד תנאי מתקיים, או על פני אוסף. משתנה בלולאה הוא לרוב מונה (i) שמתחיל בערך, נבדק בתנאי, ומתעדכן בכל סיבוב — אחרת הלולאה אינסופית. ב־for על רשימה המשתנה מקבל כל איבר בתורו. בלי להבין את המשולש אתחול־תנאי־עדכון לא עוברים אלגוריתמים.
משתנה מחוץ ללולאה
סכום=0 לפני הלולאה, ובפנים סכום=סכום+מספר. המשתנה צובר. אם מאפסים בפנים, תמיד יישאר המספר האחרון בלבד. זו טעות קלאסית בממוצע ציונים.
טיפוסים: מספר שלם, מחרוזת, בוליאני, רשימה. בלולאה על מחרוזת המשתנה יכול להיות תו. ערבוב טיפוסים גורם לשגיאות.
דוגמה: while מונה עד 5
- אתחול
i = 1
- תנאי
כל עוד i <= 5
- גוף
הדפס את i
- עדכון
i = i + 1. בלי זה i נשאר 1 לעד.
for מול while
for כשמספר הסיבובים ידוע או שיש אוסף. while כשהעצירה תלויה בקלט או בתנאי מורכב. שניהם צריכים דרך להתקדם. בפייתון for i in range(5) האתחול והעדכון מובנים.
לולאה בתוך לולאה: משתנים שונים i,j. לא למחזר את אותו מונה בשתי רמות בלי כוונה.
טעויות נפוצות
- שכחת עדכון — לולאה אינסופית.
- איפוס מצבר בתוך הלולאה.
- off-by-one: לרוץ עד 10 במקום 9 או להפך.
- שינוי רשימה תוך כדי ריצה עליה בלי זהירות.
- להשתמש במשתנה לפני אתחול.
שאלות נפוצות
- מה זה משתנה בלולאה?
- שם ששומר ערך שמשתנה בין סיבובים, לרוב מונה או איבר נוכחי מהאוסף.
- למה לולאה לא נעצרת?
- התנאי נשאר אמת כי שכחתם לעדכן את המשתנה שבתנאי.
- מה אתחול?
- הערך הראשון לפני הסיבוב הראשון, למשל i=0 או סכום=0.
- for או while?
- for לאוסף או טווח ידוע. while לתנאי גמיש.
- אפשר כמה משתנים?
- כן: מונה, סכום, דגל מצאתי. כל אחד עם תפקיד.
- מה זה range?
- בפייתון מייצר סדרת מספרים ל־for, עם התחלה סוף וקפיצה.
רוצים לראות את מורה-מורה בגוגל?
הוסיפו אותנו כמקור מועדף — והתוכן שלנו יופיע גבוה יותר בחיפושים שלכם.